package(default_visibility = ["//visibility:public"])

cc_library(
    name = "polyscope",
    srcs = glob(
        ["src/**/*.cpp"],
    ),
    hdrs = glob(
        [
            "include/**/*.h",
            "include/**/*.ipp",
        ],
    ),
    defines = [
        "POLYSCOPE_BACKEND_OPENGL3_GLFW_ENABLED",
        "POLYSCOPE_BACKEND_OPENGL3_ENABLED",
        "GLM_ENABLE_EXPERIMENTAL",
    ],
    strip_include_prefix = "include",
    deps = [
        "//deps/MarchingCubeCpp",
        "//deps/args/args",
        "//deps/glad",
        "//deps/stb",
        "@glfw",
        "@glm",
        "@imgui",
        "@imgui//backends:platform-glfw",
        "@imgui//backends:renderer-opengl3",
        "@nlohmann_json//:json",
    ],
)

cc_library(
    name = "polyscope_mock",
    srcs = glob(
        ["src/**/*.cpp"],
    ),
    hdrs = glob(
        [
            "include/**/*.h",
            "include/**/*.ipp",
        ],
    ),
    defines = [
        "POLYSCOPE_BACKEND_OPENGL_MOCK_ENABLED",
        "GLM_ENABLE_EXPERIMENTAL",
    ],
    strip_include_prefix = "include",
    deps = [
        "//deps/MarchingCubeCpp",
        "//deps/stb",
        "@glm",
        "@imgui",
        "@nlohmann_json//:json",
    ],
)
